package de.pass.ch.graph.node;

/**
 * Encapsulates data about the current node, i.e., the node that has just been
 * deleted from the pqueue.
 */
public class CurrentNode {

	/** The id of this node. */
	public int nodeID;
	/** The id of the edge that is being relaxed. */
	public int edgeID;
	/** The distance from the source node of the applicable search to this node. */
	public int dist;
	/** The index of the element in the pqueue that represents this node. */
	public int index;
	/** The number of hops from the source node. */
	public int hops;

	public CurrentNode() {
		this(0, 0, 0, 0, 0);
	}

	public CurrentNode(int nID, int w) {
		this(nID, 0, w, 0, 0);
	}

	public CurrentNode(int nID, int eID, int w, int idx, int h) {
		nodeID = nID;
		edgeID = eID;
		dist = w;
		index = idx;
		hops = h;
	}

}
